package com.cy.pj.brand.dao;

import com.cy.pj.brand.pojo.Brand;
import org.apache.ibatis.annotations.*;

import java.util.List;

@Mapper
public interface BrandDao {
    /**
     * 基于品牌名字执行查询操作
     * @param name
     * @return
     */
    List<Brand> findBrands(String name);

    /**
     * 基于品牌id执行删除业务
     * @param id
     * @return
     * 说明:实际项目中,现在很多项目不做真正的删除了,只是修改记录的状态,
     * 让当前记录处于一种删除状态(一般表中会有一个字段,例如isDelete)
     */
    @Delete("delete from tb_brand where id=#{id}")
    int deleteById(Integer id);

    /*
        将brand对象持久化到数据库
     */
    @Insert("insert into tb_brand (name,remark,createdTime) values(#{name},#{remark},now())")
    int insertBrand(Brand brand);

    //更新带数据
    @Select("select * from tb_brand where id=#{id}")
    Brand findById(Integer id);

    //更新
    @Update("update tb_brand set name=#{name},remark=#{remark} where id=#{id}")
    int updateBrand(Brand brand);
}
